#include "constants.h"
#include "sprite_status.h"
#include "types.h"

bool Sonic_3_alone;
bool INI_DebugMode;

unsigned short pbuffer[PBUFFER_LEVELS][PBUFFER_LEVEL_SLOTS];
sprite_status actwk[ACTWK_SLOTS];
unsigned short colibuffer[COLBUFFER_SLOTS];
short ringwk[RINGWK_SLOTS];
unsigned char flagwork[FLAGWORK_SLOTS];
short scralim_n_down;
short scralim_left;
short scralim_right;
short scralim_down;
unsigned char scr_resize_no;
zone_act stageno_i;
long scra_h_posit;
long scra_v_posit;
short frame_offset_x;
unsigned char event_flag_3;
unsigned long DAT_08ffef40;
unsigned char disable_interrupts_flag;
unsigned short ringbuffer[RINGBUFFER_SLOTS];
unsigned long ranum;
short waterposi;
unsigned char waterflag;
unsigned char ssonicpallet_next;
unsigned char ssonicpallet;
unsigned char smilesflag;
unsigned short ssonicring_timer;
unsigned char watermode;
unsigned char miles_carry_flag;
short plmaxspdwk;
short pladdspdwk;
short plretspdwk;
unsigned char bossstart;
unsigned char soz_darkness_level;
unsigned char reverse_gravity_flag;
unsigned char pl2_lock_flag;
unsigned short emyscorecnt;
unsigned short timebonus;
unsigned short ringbonus;
unsigned short scr_x_no;
unsigned char level_triggers[LEVEL_TRIGGERS_SLOTS];
unsigned char emy_wrt_flg[EMY_WRT_FLG_SLOTS];
unsigned char DAT_08fffaa2;
unsigned char act_clear_flag;
unsigned char act_start_flag;
unsigned long systemtimer;
unsigned char soz_ghosts;
unsigned char DAT_08fffacd;
unsigned short gameflag;
unsigned short gametimer;
unsigned char edit_r_no;
zone_act stageno;
unsigned char pl_suu;
unsigned char ssonicflag;
unsigned char plring_f2;
unsigned char pl_suu_f;
unsigned char plring_f;
unsigned char plscore_f;
unsigned char pltime_f;
short plring;
act_timer pltime;
unsigned long plscore;
unsigned char markerno;
unsigned char markerno_s;
zone_act stageno_s;
short plxposi_s;
short plyposi_s;
short plring_s;
act_timer pltime_s;
unsigned short plsproffset_s;
block_coli_bits plcolibits_s;
short scra_h_posit_s;
short scra_v_posit_s;
short waterposi_s;
unsigned char waterflag_s;
unsigned char plring_f2_s;
short scralim_down_s;
unsigned char scr_resize_no_s;
unsigned char plcddat2_s;
unsigned char marker_flag;
unsigned char markerno_s2;
zone_act stageno_s2;
short plxposi_s2;
short plyposi_s2;
short plring_s2;
act_timer pltime_s2;
unsigned short plsproffset_s2;
block_coli_bits plcolibits_s2;
short scra_h_posit_s2;
short scra_v_posit_s2;
short waterposi_s2;
unsigned char waterflag_s2;
unsigned char plring_f2_s2;
short scralim_down_s2;
unsigned char scr_resize_no_s2;
unsigned char ring_patno;
unsigned char flyring_patcnt;
unsigned char flyring_patno;
unsigned char pl2ring_f;
unsigned char pl2ring_f2;
unsigned char pl2_suu;
short pl2maxspdwk;
short pl2addspdwk;
short pl2retspdwk;
short plring_act;
short pl2ring_act;
unsigned short DAT_08fffecc;
unsigned short DAT_08fffece;
short pl2ring;
unsigned long DAT_08fffed2;
short actring;
character_team_id plmode;
unsigned char divdev_modules;
unsigned short frame_bonus;
unsigned char plcddat2_s2;
unsigned char plresetflag;
zone_act stageno_is;
zone_act stageno_is2;
unsigned short cartridge;
unsigned long extrascore;
unsigned short plsproffset;
unsigned char mdstatus;
unsigned short vs_flag;
